package com.wn.common.model

/**
 * @Author: wn
 * @Date: 2024/6/27 17:13
 * @Description: 文章列表
 */
data class ArticleList(
  val curPage: Int?, // 2
  val offset: Int?, // 2
  val over: Boolean?, // false
  val pageCount: Int?, // 7734
  val size: Int?, // 2
  val total: Int?, // 15468
  val datas: MutableList<ArticleInfo>?,
) {
  data class ArticleInfo(
    val adminAdd: Boolean?, // false
    val apkLink: String?,
    val audit: Int?, // 1
    val author: String?, // 鸿洋
    val canEdit: Boolean?, // false
    val chapterId: Int?, // 408
    val chapterName: String?, // 鸿洋
    var collect: Boolean?, // false
    val courseId: Int?, // 13
    val desc: String?,
    val descMd: String?,
    val envelopePic: String?,
    val fresh: Boolean?, // false
    val host: String?,
    val id: Int?, // 28587
    val isAdminAdd: Boolean?, // false
    val link: String?, // https://mp.weixin.qq.com/s/_TUYk85taZ4EWUATtwRY5Q
    val niceDate: String?, // 2天前
    val niceShareDate: String?,  // 1天前
    val origin: String?,
    val prefix: String?,
    val projectLink: String?,
    val publishTime: Long?, // 1719244800000
    val realSuperChapterId: Int?, // 407
    val selfVisible: Int?, // 0
    val shareDate: Long?, // 1719364328000
    val shareUser: String?,
    val superChapterId: Int?, // 408
    val superChapterName: String?, // 公众号
    val tags: MutableList<Tag>?,
    val title: String?, // 优雅实现网络请求：协程+Flow+Retrofit+OkHttp
    val type: Int?, // 0
    val userId: Int?, // -1
    val visible: Int?, // 1
    val zan: Int?, // 0
  ) {
    data class Tag(
      val name: String?, // 公众号
      val url: String?, // /wxarticle/list/408/1
    )
  }
}